Today, computing is increasingly being delivered as a utility service over the Internet. Through the deployment of cloud computing and virtualization technology, compute, storage, and application services are available for on-demand consumption over the Internet. In this model of delivery, a user is not required to have knowledge of the physical locations and the configurations of the compute and storage resources in order to utilize the service. For example, additional storage may be provided to a user computing device without the user having knowledge of the physical location of the storage on a communication network.
Although the utility as a service has provided increased resources to end users, wherein users may connect to any number of devices and provide operations with respect to the devices, it often remains difficult to manage the various resources that are being provided to each device computing system. In particular, administrators may be forced to provide manual assignment of the various resources, which can be cumbersome in situations where users use a variety hardware and software configurations.
In addition to the difficulties described above in determining what resources are provided to what systems and devices, difficulties also arise when updates or enhanced feature sets are required for applications on the computing systems. These updates typically require the system to download data for the update, and install the data locally on storage resources. However, these updates may be inefficient, as large data updates may be required to provide additional functionality for the computing system.